My role
To develop this feature, I worked together with two other teammates. My tasks were:
1. Study the request and decide together with the PM the KPIs to show in the dashboard.
2. Design the dashboard layout.
3. Create the 'Workload' component.
4. Design and create the individual panel component.
5. Inside the individual panel, design and create the Header, the Task Status section, and the Time Estimate section.
A second teammate designed and created the bar chart component, and a third teammate designed and created the dropdown section at the end of the individual panel. We were able to work together by using Git, GitHub and GitFlow.
The dashboard
The dashboard shows the following information:
a. A bar chart with the % of complete tasks over assigned tasks by each team member.
b. An individual panel per team member containing:
b.1. A header with the member registered name and profile picture.
b.2. A Tasks Status section showing (1) pending tasks, (2) complete tasks ,and (3) % of complete tasks over assigned tasks. When hovering over the metrics, a modal is displayed with a breakdown of the tasks by level of difficulty. If there are tasks for the manager to review, the message "⏳ X pending tasks IN REVIEW" will be displayed, and when hovering over the message a modal with the tasks detail will be displayed.
b.3. A Time Estimate section showing (1) the sum of working days since assigned among all pending tasks, (2) the sum of working days for due completion among all pending tasks, and (3) an horizontal bar with the progress. When hovering over the metrics, a modal is displayed with a breakdown of the tasks by level of difficulty.The horizontal bar will have a different color depending on the tasks status:
b.3.1. Green: everything ok, no issues.
b.3.2. Yellow: the member has more than 90% of the work done. Below the bar the message "🚨 Almost out of tasks. Assign new tasks" will be displayed.
b.3.3. Red: there is at least one delayed task. Below the bar the message "⚠️ Xd delayed with Y tasks" will be displayed, and when hovering over the message a modal with the tasks detail will be displayed.
b.3.4. Blue: all tasks are done. The message "✔️ All tasks have been completed!" will be displayed.
b.4. Other messages can be displayed below the horizontal bar:
b.4.1. "🚨 No tasks assigned" when the member has no tasks pending nor done.
b.4.2. "⚠️ X tasks may de delayed according to {name} average completion time" when the time assigned for a task is lower than the calculated average time taken by the member to complete tasks with same level of difficulty. When hovering over the message a modal with the tasks detail will be displayed.
b.4.3. "⚠️ X tasks without estimate" when there are tasks that have no due date. When hovering over the message a modal with the tasks detail will be displayed.
b.5. A dropdown by status with a detail of the tasks.
Technologies used
To complete this task, I used the following technologies: JavaScript, HTML, CSS, React, Redux, MongoDB, and the React Circular Progressbar and Chart.js libraries.